home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / distutils / command / bdist.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2005-10-18  |  5KB  |  124 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.4)
  3.  
  4. """distutils.command.bdist
  5.  
  6. Implements the Distutils 'bdist' command (create a built [binary]
  7. distribution)."""
  8. __revision__ = '$Id: bdist.py,v 1.30 2004/11/10 22:23:14 loewis Exp $'
  9. import os
  10. import string
  11. from types import *
  12. from distutils.core import Command
  13. from distutils.errors import *
  14. from distutils.util import get_platform
  15.  
  16. def show_formats():
  17.     '''Print list of available formats (arguments to "--format" option).
  18.     '''
  19.     FancyGetopt = FancyGetopt
  20.     import distutils.fancy_getopt
  21.     formats = []
  22.     for format in bdist.format_commands:
  23.         formats.append(('formats=' + format, None, bdist.format_command[format][1]))
  24.     
  25.     pretty_printer = FancyGetopt(formats)
  26.     pretty_printer.print_help('List of available distribution formats:')
  27.  
  28.  
  29. class bdist(Command):
  30.     description = 'create a built (binary) distribution'
  31.     user_options = [
  32.         ('bdist-base=', 'b', 'temporary directory for creating built distributions'),
  33.         ('plat-name=', 'p', 'platform name to embed in generated filenames (default: %s)' % get_platform()),
  34.         ('formats=', None, 'formats for distribution (comma-separated list)'),
  35.         ('dist-dir=', 'd', 'directory to put final built distributions in [default: dist]'),
  36.         ('skip-build', None, 'skip rebuilding everything (for testing/debugging)')]
  37.     boolean_options = [
  38.         'skip-build']
  39.     help_options = [
  40.         ('help-formats', None, 'lists available distribution formats', show_formats)]
  41.     no_format_option = ('bdist_rpm',)
  42.     default_format = {
  43.         'posix': 'gztar',
  44.         'nt': 'zip',
  45.         'os2': 'zip' }
  46.     format_commands = [
  47.         'rpm',
  48.         'gztar',
  49.         'bztar',
  50.         'ztar',
  51.         'tar',
  52.         'wininst',
  53.         'zip']
  54.     format_command = {
  55.         'rpm': ('bdist_rpm', 'RPM distribution'),
  56.         'zip': ('bdist_dumb', 'ZIP file'),
  57.         'gztar': ('bdist_dumb', "gzip'ed tar file"),
  58.         'bztar': ('bdist_dumb', "bzip2'ed tar file"),
  59.         'ztar': ('bdist_dumb', 'compressed tar file'),
  60.         'tar': ('bdist_dumb', 'tar file'),
  61.         'wininst': ('bdist_wininst', 'Windows executable installer'),
  62.         'zip': ('bdist_dumb', 'ZIP file') }
  63.     
  64.     def initialize_options(self):
  65.         self.bdist_base = None
  66.         self.plat_name = None
  67.         self.formats = None
  68.         self.dist_dir = None
  69.         self.skip_build = 0
  70.  
  71.     
  72.     def finalize_options(self):
  73.         if self.plat_name is None:
  74.             self.plat_name = get_platform()
  75.         
  76.         if self.bdist_base is None:
  77.             build_base = self.get_finalized_command('build').build_base
  78.             self.bdist_base = os.path.join(build_base, 'bdist.' + self.plat_name)
  79.         
  80.         self.ensure_string_list('formats')
  81.         if self.formats is None:
  82.             
  83.             try:
  84.                 self.formats = [
  85.                     self.default_format[os.name]]
  86.             except KeyError:
  87.                 raise DistutilsPlatformError, "don't know how to create built distributions " + 'on platform %s' % os.name
  88.             except:
  89.                 None<EXCEPTION MATCH>KeyError
  90.             
  91.  
  92.         None<EXCEPTION MATCH>KeyError
  93.         if self.dist_dir is None:
  94.             self.dist_dir = 'dist'
  95.         
  96.  
  97.     
  98.     def run(self):
  99.         commands = []
  100.         for format in self.formats:
  101.             
  102.             try:
  103.                 commands.append(self.format_command[format][0])
  104.             continue
  105.             except KeyError:
  106.                 raise DistutilsOptionError, "invalid format '%s'" % format
  107.                 continue
  108.             
  109.  
  110.         
  111.         for i in range(len(self.formats)):
  112.             cmd_name = commands[i]
  113.             sub_cmd = self.reinitialize_command(cmd_name)
  114.             if cmd_name not in self.no_format_option:
  115.                 sub_cmd.format = self.formats[i]
  116.             
  117.             if cmd_name in commands[i + 1:]:
  118.                 sub_cmd.keep_temp = 1
  119.             
  120.             self.run_command(cmd_name)
  121.         
  122.  
  123.  
  124.